900
How do I get ride of the separator items when the user performs grouping

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
FUNCTION gridEvents_AddGroupItem(OBJECT grid, INT Item)
	_ObjectCallMethod(grid, "TemplatePut", "Dim Item")
	_ObjectCallMethod(grid, "TemplatePut", Item)
	_ObjectCallMethod(grid, "ExecuteTemplate", "Items.ItemDividerLine(Item) = 0");
END

OBJECT grid,rs;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( grid , "DataSource", rs);
_ObjectSetProperty( grid , "SortBarVisible", -1);
_ObjectSetProperty( grid , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( grid , "AllowGroupBy", -1);
_ObjectCallMethod(grid, "ExecuteTemplate", "Columns.Item(1).SortOrder = 1");
_ObjectSetProperty( grid , "LinesAtRoot", 5);
_ObjectCallMethod( grid , "EndUpdate");

899
How do I split a cell in three parts, and having a radio button in each of them

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION gridEvents_CellStateChanged(OBJECT grid, INT Item, INT ColIndex)
	_ObjectCallMethod(grid, "TemplatePut", "Dim _ObObj,ColIndex,Item")
	_ObjectCallMethod(grid, "TemplatePut", _ObjectGetProperty( grid , "Items"))
	_ObjectCallMethod(grid, "TemplatePut", ColIndex)
	_ObjectCallMethod(grid, "TemplatePut", Item)
	Message( _ObjectCallMethod(grid, "ExecuteTemplate", "_ObObj.CellCaption(Item,ColIndex)") );
END

// Click event - Occurs when the user presses and then releases the left mouse button over the grid control.
FUNCTION gridEvents_Click()
	_ObjectCallMethod(grid, "TemplatePut", "Dim c,hit")
	_ObjectCallMethod(grid, "TemplatePut", c)
	_ObjectCallMethod(grid, "TemplatePut", hit)
	h = _ObjectCallMethod(grid, "ExecuteTemplate", "ItemFromPoint(-1,-1,c,hit)");
	_ObjectCallMethod(grid, "TemplatePut", "Dim c,h")
	_ObjectCallMethod(grid, "TemplatePut", c)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "Items.CellState(h,c) = 1");
END

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "FullRowSelect", 0);
_ObjectSetProperty( grid , "SelBackColor", _ObjectGetProperty( grid , "BackColor"));
_ObjectSetProperty( grid , "SelForeColor", _ObjectGetProperty( grid , "ForeColor"));
_ObjectSetProperty( grid , "DrawGridLines", -1);
_ObjectSetProperty( grid , "ShowFocusRect", 0);
_ObjectCallMethod(grid, "ExecuteTemplate", "Columns.Add(`Default`).Def(17) = 1");
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "entire");
	h = _ObjectCallMethod( items , "AddItem", "Radio <b>1");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellRadioGroup(h,0) = 100");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHasRadioButton(h,0) = True");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellState(h,0) = 1");
	h = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SplitCell(h,0)");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(0,h) = `Radio <b>2`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellRadioGroup(0,h) = 100");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHasRadioButton(0,h) = True");
	h = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SplitCell(0,h)");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(0,h) = `Radio <b>3`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellRadioGroup(0,h) = 100");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHasRadioButton(0,h) = True");
	h = _ObjectCallMethod( items , "AddItem", "entire");
_ObjectCallMethod( grid , "EndUpdate");

898
Does your grid include a row indicator , like an arrow, bullet

// SelectionChanged event - Fired after a new item has been selected.
FUNCTION gridEvents_SelectionChanged()
	OBJECT items;
	items = _ObjectGetProperty( grid , "Items");
		hFocusItem = _ObjectGetProperty( items , "FocusItem");
		_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(grid, "TemplatePut", items)
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(Me.Columns.Item(`active`).Data,`active`) = ``");
		_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,hFocusItem")
		_ObjectCallMethod(grid, "TemplatePut", items)
		_ObjectCallMethod(grid, "TemplatePut", hFocusItem)
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(hFocusItem,`active`) = `<c><font symbol>·`");
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellVAlignment(hFocusItem,`active`) = 2");
		_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(grid, "TemplatePut", items)
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.Me.Columns.Item(`active`).Data = hFocusItem");
END

OBJECT column,grid,items,rs;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( grid , "DataSource", rs);
_ObjectSetProperty( grid , "ShowFocusRect", 0);
_ObjectSetProperty( grid , "ContinueColumnScroll", -1);
_ObjectSetProperty( grid , "ScrollBySingleLine", -1);
_ObjectSetProperty( grid , "AutoDrag", 4112);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "");
	_ObjectSetProperty( column , "Key", "active");
	_ObjectSetProperty( column , "Position", 0);
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 12);
	_ObjectSetProperty( column , "Data", _ObjectGetProperty( _ObjectGetProperty( grid , "Items") , "FocusItem"));
	_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(grid, "TemplatePut", column)
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(17) = 1");
_ObjectSetProperty( grid , "CountLockedColumns", 1);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SelectItem(NextVisibleItem(FocusItem)) = True");
_ObjectCallMethod( grid , "EndUpdate");

897
How can I connect to a DBF file
OBJECT grid,rs;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
_ObjectSetProperty( grid , "ContinueColumnScroll", 0);
rs = CreateObject("ADODB.Recordset");
	_ObjectCallMethod( rs , "Open", "Select * From foxcode.DBF","Provider=vfpoledb;Data Source=C:\Program Files\Microsoft Visual FoxPro 9\",3,3);
_ObjectSetProperty( grid , "DataSource", rs);

896
Does your control supports scrolling by touching the screen

OBJECT grid,rs;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( grid , "DataSource", rs);
_ObjectSetProperty( grid , "ContinueColumnScroll", -1);
_ObjectSetProperty( grid , "ScrollBySingleLine", -1);
_ObjectSetProperty( grid , "AutoDrag", 4112);

895
How do I prevent showing the control's BackColorAlternate property on empty / non-items part of the control

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "BackColorAlternate", 2146496752);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Column");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddItem", "Item 3");
	_ObjectCallMethod( items , "AddItem", "Item 4");
	_ObjectCallMethod( items , "AddItem", "Item 5");
_ObjectCallMethod( grid , "EndUpdate");

894
Is there any method for reading information from the root item for the current item...

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "LinesAtRoot", -1);
_ObjectSetProperty( grid , "SearchColumnIndex", 0);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Info");
items = _ObjectGetProperty( grid , "Items");
	_ObjectSetProperty( items , "PathSeparator", " ; ");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SelectItem(InsertItem(InsertItem(InsertItem(InsertItem(,,`Root`),,`Child`),,`Sub-Child`),,`Sub-Sub-Child`)) = True");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ExpandItem(0) = True");
	Message( _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.FullPath(FocusItem)") );
_ObjectCallMethod( grid , "EndUpdate");

893
How can I highlight items with a specified date

OBJECT column,columns,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Tasks");
	column = _ObjectCallMethod( columns , "Add", "Date");
		_ObjectSetProperty( column , "SortType", 2);
		_ObjectSetProperty( _ObjectGetProperty( column , "Editor") , "EditType", 4);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Task 1`),1) = #12/13/2001#");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Task 2`),1) = #12/14/2001#");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Task 2`),1) = #12/15/2001#");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "ConditionalFormats") , "Add", "%1 = #12/14/2001#") , "Bold", -1);
_ObjectCallMethod( grid , "EndUpdate");

892
Today date is shown, if we use the Column.FormatColumn and Editor.Option(exDateAllowNullDate) properties. What can be done

OBJECT column,editor,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Date");
	_ObjectSetProperty( column , "FormatColumn", "len(value) ? ( (longdate(date(value)) left 3) + ' ' + day(date(value)) + '/' + month(date(value)) + '/' + (year(date(value)) ri" +
	"ght 2) ) : '' )");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectCallMethod(grid, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(grid, "TemplatePut", editor)
		_ObjectCallMethod(grid, "ExecuteTemplate", "ediObj.Option(14) = True");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", #5/12/2012#);
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod( items , "AddItem", #5/14/2012#);
_ObjectCallMethod( grid , "EndUpdate");

891
How can I add multiple values/columns on the same line/item/row

// Change event - Occurs when the user changes the cell's content.
FUNCTION gridEvents_Change(OBJECT grid, INT Item, INT ColIndex, VARIANT NewValue)
	_ObjectCallMethod( grid , "Refresh");
END

OBJECT columns,grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "SortOnClick", 0);
_ObjectSetProperty( grid , "LinesAtRoot", 5);
_ObjectSetProperty( grid , "Indent", 13);
_ObjectSetProperty( grid , "HeaderVisible", 0);
_ObjectSetProperty( grid , "LinesAtRoot", -1);
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Items");
	_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( columns , "Add", "Quantity") , "Editor") , "EditType", 4);
	_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( columns , "Add", "Value") , "Editor") , "EditType", 4);
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,2) = `sum(current,dir,dbl(%1)*dbl(%2))`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValueFormat(h,2) = 4");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.FormatCell(h,2) = ``Total: `+ value`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHAlignment(h,2) = 2");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellBold(h,2) = True");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditorVisible(h,2) = False");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditorVisible(h,1) = False");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Item 1");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h1")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h1)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h1,1) = 10");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h1,2) = 3");
	h1 = _ObjectCallMethod( items , "InsertItem", h,"","Item 2");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h1,1) = 20");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h1,2) = 4");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( grid , "EndUpdate");

890
Is there a syntax for conditional formatting of items, based on CellState/CellStateChange

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION gridEvents_CellStateChanged(OBJECT grid, INT Item, INT ColIndex)
	OBJECT items;
	items = _ObjectGetProperty( grid , "Items");
		_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,Item")
		_ObjectCallMethod(grid, "TemplatePut", items)
		_ObjectCallMethod(grid, "TemplatePut", Item)
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(Item,2) = CellState(Item,0)");
END

OBJECT column,grid,items,var_conditionalformat;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "ShowFocusRect", 0);
_ObjectSetProperty( grid , "SelBackMode", 1);
var_ConditionalFormat = _ObjectCallMethod( _ObjectGetProperty( grid , "ConditionalFormats") , "Add", "%2 != 0");
var_conditionalformat = var_ConditionalFormat;
	_ObjectSetProperty( var_conditionalformat , "Bold", -1);
	_ObjectSetProperty( var_conditionalformat , "ForeColor", 255);
	_ObjectSetProperty( var_conditionalformat , "ApplyTo", -1);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "");
	_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(grid, "TemplatePut", column)
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectSetProperty( column , "Width", 16);
	_ObjectSetProperty( column , "AllowSizing", 0);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Information");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Hidden") , "Visible", 0);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(``),1) = `This is a bit of text associated`");
	h = _ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `This is a bit of text associated`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellState(h,0) = 1");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(``),1) = `This is a bit of text associated`");
_ObjectCallMethod( grid , "EndUpdate");

889
How do I programatically focus a cell

// FocusChanged event - Occurs when a new cell is focused.
FUNCTION gridEvents_FocusChanged()
	OBJECT items;
	items = _ObjectGetProperty( grid , "Items");
		_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(grid, "TemplatePut", items)
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellBackColor(FocusItem,Me.FocusColumnIndex) = 255");
END

OBJECT columns,grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "SelForeColor", _ObjectGetProperty( grid , "ForeColor"));
_ObjectSetProperty( grid , "SelBackColor", _ObjectGetProperty( grid , "BackColor"));
_ObjectSetProperty( grid , "DrawGridLines", -2);
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Column1");
	_ObjectCallMethod( columns , "Add", "Column2");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Cell 1.1`),1) = `Cell 1.2`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(`Cell 2.1`),1) = `Cell 2.2`");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SelectItem(ItemByIndex(1)) = True");
_ObjectSetProperty( grid , "FocusColumnIndex", 1);
_ObjectCallMethod( grid , "EndUpdate");

888
How do I programatically focus a cell (excrd)

// FocusChanged event - Occurs when a new cell is focused.
FUNCTION gridEvents_FocusChanged()
	OBJECT items;
	items = _ObjectGetProperty( grid , "Items");
		_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(grid, "TemplatePut", items)
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellBackColor(FocusItem,Me.FocusColumnIndex) = 255");
END

OBJECT column,columns,grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "SelForeColor", _ObjectGetProperty( grid , "ForeColor"));
_ObjectSetProperty( grid , "SelBackColor", _ObjectGetProperty( grid , "BackColor"));
_ObjectSetProperty( grid , "DrawGridLines", -2);
_ObjectSetProperty( grid , "DefaultItemHeight", 36);
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column1") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column2") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column3") , "Visible", 0);
	column = _ObjectCallMethod( columns , "Add", "FormatLevel");
		_ObjectSetProperty( column , "FormatLevel", "(0/1),2");
		_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(grid, "TemplatePut", column)
		_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(32) = FormatLevel");
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Cell 1.1");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Cell 1.2`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,2) = `Cell 1.3`");
	h = _ObjectCallMethod( items , "AddItem", "Cell 2.1");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Cell 2.2`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,2) = `Cell 2.3`");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SelectItem(ItemByIndex(1)) = True");
_ObjectSetProperty( grid , "FocusColumnIndex", 2);
_ObjectCallMethod( grid , "EndUpdate");

887
How do I programmatically exclude items from the filter

OBJECT column,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "LinesAtRoot", -1);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 9472);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddItem", "Item 3");
	_ObjectCallMethod( items , "AddItem", "Item 4");
column = _ObjectCallMethod(grid, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "FilterType", 752);
	_ObjectSetProperty( column , "Filter", "Item 1|Item 4");
_ObjectCallMethod( grid , "ApplyFilter");
_ObjectCallMethod( grid , "EndUpdate");

886
Using the property Column.FormatColumn I want to display numbers in the numeric format with no decimals - unless the value is NULL then I want to display a blank or empty

OBJECT columns,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Format") , "FormatColumn", "len(value) ? (value format '0') : '' ");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", 10);
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod( items , "AddItem", -8);
_ObjectCallMethod( grid , "EndUpdate");

885
How can I change the drop down filter background color

OBJECT column,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "LinesAtRoot", -1);
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(26) = 16777215");
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Items");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "DisplayFilterPattern", 0);
	_ObjectSetProperty( column , "FilterList", 1315);
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Root 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "Root 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 1");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 2");
	_ObjectCallMethod( items , "InsertItem", h,"","Child 3");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
_ObjectCallMethod( grid , "EndUpdate");

884
I am using AllowGroupBy property and calling the Column.SortOrder property groups by that column. Is it possible to prevent that, so I have a similar behavior like I click the column's header rather than dragging it to the control's GroupBy bar

OBJECT columns,grid;

grid =  ObjectByName("AN1") ;
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "First");
	_ObjectCallMethod( columns , "Add", "Second");
	_ObjectCallMethod( columns , "Add", "Third");
_ObjectSetProperty( grid , "SortBarVisible", -1);
_ObjectSetProperty( grid , "SingleSort", 0);
_ObjectSetProperty( grid , "AllowGroupBy", -1);
_ObjectSetProperty( grid , "Layout", "SingleSort = ^"C0:1^";MultipleSort = ^"C1:2 C2:1^"");

883
Calling programatically the Column.SortOrder property adds the column to the sort bar. Is it possible to prevent that, so I have a similar behavior like I click the column's header rather than dragging it to the control's Sort bar

OBJECT columns,grid;

grid =  ObjectByName("AN1") ;
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "First");
	_ObjectCallMethod( columns , "Add", "Second");
	_ObjectCallMethod( columns , "Add", "Third");
_ObjectSetProperty( grid , "SortBarVisible", -1);
_ObjectSetProperty( grid , "SingleSort", 0);
_ObjectSetProperty( grid , "Layout", "SingleSort = ^"C0:1^"");

882
How do I restore/clear the HotBackColor/HotForeColor properties

OBJECT column,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "HotBackColor", 16711680);
_ObjectSetProperty( grid , "HotForeColor", 16777215);
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Value") , "Visible", 0);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "USD");
	_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(grid, "TemplatePut", column)
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "len(%0) ? ((0:=dbl(%0)) < 10 ? '<fgcolor=808080><font ;7>' : '<b>') + `USD `+ (=:0 format ``)");
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "EUR");
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "len(%0) ? ((0:=0.72*dbl(%0)) < 10 ? '<fgcolor=808080><font ;7>' : '<b>') + `EUR `+ (=:0 format ``)");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "1.23");
	_ObjectCallMethod( items , "AddItem", "2.34");
	_ObjectCallMethod( items , "AddItem", "9.94");
	_ObjectCallMethod( items , "AddItem", "11.94");
	_ObjectCallMethod( items , "AddItem", "1000");
_ObjectSetProperty( grid , "HotBackColor", _ObjectGetProperty( grid , "BackColor"));
_ObjectSetProperty( grid , "HotForeColor", _ObjectGetProperty( grid , "ForeColor"));
_ObjectCallMethod( grid , "EndUpdate");

881
How do I format a column using a currency, and another column to another currency

OBJECT column,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Value") , "Visible", 0);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "USD");
	_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(grid, "TemplatePut", column)
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "len(%0) ? ((0:=dbl(%0)) < 10 ? '<fgcolor=808080><font ;7>' : '<b>') + `USD `+ (=:0 format ``)");
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "EUR");
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectSetProperty( column , "FormatColumn", "len(%0) ? ((0:=0.72*dbl(%0)) < 10 ? '<fgcolor=808080><font ;7>' : '<b>') + `EUR `+ (=:0 format ``)");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "1.23");
	_ObjectCallMethod( items , "AddItem", "2.34");
	_ObjectCallMethod( items , "AddItem", "9.94");
	_ObjectCallMethod( items , "AddItem", "11.94");
	_ObjectCallMethod( items , "AddItem", "1000");

880
How can I sort the columns to be displayed on the columns floating bar

OBJECT columns,grid;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "City") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Start") , "Visible", 0);
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "End") , "Visible", 0);
_ObjectSetProperty( grid , "ColumnsFloatBarVisible", -1);
_ObjectSetProperty( grid , "ColumnsFloatBarSortOrder", 1);

879
How can I get the column index and the row index of the active cell

// FocusChanged event - Occurs when a new cell is focused.
FUNCTION gridEvents_FocusChanged()
	OBJECT items;
	_ObjectCallMethod(grid, "TemplatePut", "Dim _ObObj")
	_ObjectCallMethod(grid, "TemplatePut", _ObjectGetProperty( grid , "Columns"))
	Message( "Active/Focus-Column:" );
	Message( _ObjectCallMethod(grid, "ExecuteTemplate", "_ObObj.Item(FocusColumnIndex).Caption") );
	items = _ObjectGetProperty( grid , "Items");
		_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(grid, "TemplatePut", items)
		Message( "Active/Focus-Row/Item:" );
		Message( _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellCaption(FocusItem,Me.FocusColumnIndex)") );
END

OBJECT columns,grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( columns , "Add", "C1") , "Editor") , "EditType", 1);
	_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( columns , "Add", "C2") , "Editor") , "EditType", 1);
	_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( columns , "Add", "C3") , "Editor") , "EditType", 1);
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", 1);
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = 2");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,2) = 3");
	h = _ObjectCallMethod( items , "AddItem", 3);
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = 1");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,2) = 2");
_ObjectCallMethod( grid , "EndUpdate");

878
How can I add a vertical padding

OBJECT column,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "DrawGridLines", -1);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Padding");
	_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(grid, "TemplatePut", column)
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(0) = True");
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(16) = False");
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(48) = 6");
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(49) = 6");
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(50) = 6");
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(51) = 6");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "padding");
	_ObjectCallMethod( items , "AddItem", "padding");
_ObjectCallMethod( grid , "EndUpdate");

877
How can I set item's height individually for every item in the control and also have line breaks in the item caption

OBJECT column,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "BackColorAlternate", 15790320);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Lines");
	_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(grid, "TemplatePut", column)
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(17) = 1");
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(16) = False");
_ObjectSetProperty( grid , "ItemsAllowSizing", -1);
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Line 1<br>Line 2");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemMinHeight(h) = 36");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemHeight(h) = ItemMinHeight(h)");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemMaxHeight(h) = ItemMinHeight(h)");
	h = _ObjectCallMethod( items , "AddItem", "Line 1<br>Line 2");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemMinHeight(h) = 48");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemHeight(h) = ItemMinHeight(h)");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemMaxHeight(h) = ItemMinHeight(h)");
	h = _ObjectCallMethod( items , "AddItem", "Line 1<br>Line 2");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemMinHeight(h) = 64");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemHeight(h) = ItemMinHeight(h)");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemMaxHeight(h) = ItemMinHeight(h)");

876
The mouse-cursor is shown over the tooltip. Is it possible somehow resolve this (method 2)

// MouseMove event - Occurs when the user moves the mouse.
FUNCTION gridEvents_MouseMove(OBJECT grid, INT Button, INT Shift, INT X, INT Y)
	_ObjectCallMethod( grid , "ShowToolTip", "This is bit of text that's shown when the user hovers the cell","Column",0,"+16","+16");
END

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Column");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "tooltip");

875
The mouse-cursor is shown over the tooltip. Is it possible somehow resolve this (method 1)
// ToolTip event - Fired when the control prepares the object's tooltip.
FUNCTION gridEvents_ToolTip(OBJECT grid, INT Item, INT ColIndex, INT Visible, INT X, INT Y, INT CX, INT CY)
	X = 0;
	Y = 0;
END

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Column");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellToolTip(AddItem(`tooltip`),0) = `This is bit of text that's shown when the user hovers the cell`");

874
How can I add a MIN or MAX field (for date)

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Text") , "SortType", 2);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", #1/1/2001#);
	_ObjectCallMethod( items , "AddItem", #12/11/1998#);
	_ObjectCallMethod( items , "AddItem", #1/20/2014#);
	_ObjectCallMethod( items , "AddItem", #1/1/2013#);
	h = _ObjectCallMethod( items , "AddItem", "min(all,dir,date(%0))");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SortableItem(h) = False");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValueFormat(h,0) = 4");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 2");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `'MIN: '+value`");
	h = _ObjectCallMethod( items , "AddItem", "max(all,dir,date(%0))");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SortableItem(h) = False");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValueFormat(h,0) = 4");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 2");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `'MAX: '+value`");
_ObjectCallMethod( grid , "EndUpdate");

873
How can I add a MIN or MAX field (for text)

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Text") , "SortType", 0);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "aha");
	_ObjectCallMethod( items , "AddItem", "baba");
	_ObjectCallMethod( items , "AddItem", "aaha");
	_ObjectCallMethod( items , "AddItem", "aka");
	h = _ObjectCallMethod( items , "AddItem", "min(all,dir,str(%0))");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SortableItem(h) = False");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValueFormat(h,0) = 4");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 2");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `'MIN: '+value`");
	h = _ObjectCallMethod( items , "AddItem", "max(all,dir,str(%0))");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SortableItem(h) = False");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValueFormat(h,0) = 4");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHAlignment(h,0) = 2");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `'MAX: '+value`");
_ObjectCallMethod( grid , "EndUpdate");

872
How can I change the the focus rectangle

OBJECT column,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( grid , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAAEhABeEGACAADACAxRDgMQBQKAAzQFAYbBlBaERiGQYIJhUAIIRZGMQxXAcMQvDSKQJhGDAADENAxAJCI4DBIgZQNDwZQIkCY4ZDKHIfRzNAASJ" +
	"IkTQPBKfYDGOLhSh6IJGRpPEIxdJMBr+fZ9QApeoYVj2J4eUCAFBxDRsZw8BiNAbkOi4Jp1f5nVJaFSxCKoSxbNqSBpGCzoJrKdI0R5JES2BAddTLBKzX7tHArLgSJ5d" +
	"SrLMrwSKcRR1HSbIDyGaMUiCSqGVjWNZ5FREM46AAGbDgMILEgOZpoYDFVTZTKFCS7I6Eb40CCbCyPJQAabgWo4KAAZThNi7QAua4bTr7HqibLAexaJDOc4HVSgMLlIY" +
	"EkIeg2iybAjDkfhMFuHY7mQT4xB0TBnFoUQ6i+cg2j2SIvHqVZIl8cB+BwTgPA4NRdjycg2FoHhuAMUZuHGUAwCECQUAaEYMHQHRHCGFRZEQAABO2AwRFCWQJAoGxECW" +
	"TBHkGBxpg8RhYBMbJbD+TBzByfwwAwCIOCWCQiGiJgogqYh4hYIQ/k2cx9gEYQAAiRgqgsYx4mYLIOiOCMjjCTA4iScw8mMOQWEaEZkGkDgpguUIYm4SITmUCQaDuExj" +
	"gkRhWhQJQ0A4ToVmWSQWFkAAljkdhiheZgZgoXIZCUWYaF2GgihmKhrg4JRJjYboVmaSIiHOHQnAkahph2ZYJmQAAxAwSQKESHwkFkKgoiAIxIHoPIimOOg2DiCgoiQJ" +
	"RQTYQxwn8MgMgoMoPiaYoaGCfw4A4CJNAkOpcGQBCAg==");
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(19) = 16777216");
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Check");
	_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(grid, "TemplatePut", column)
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(48) = 2");
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(0) = True");
_ObjectSetProperty( grid , "SelForeColor", _ObjectGetProperty( grid , "ForeColor"));
_ObjectSetProperty( grid , "SelBackColor", _ObjectGetProperty( grid , "BackColor"));
_ObjectSetProperty( grid , "DefaultItemHeight", 22);
_ObjectSetProperty( grid , "ShowFocusRect", -1);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod( grid , "EndUpdate");

871
Can each cell have their own dropdown lists that contain "different list item values" for each cell, not predefined for the entire column

OBJECT editor,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Column/Cell-Same") , "Editor");
	_ObjectSetProperty( editor , "EditType", 3);
	_ObjectCallMethod( editor , "AddItem", 0,"Zero");
	_ObjectCallMethod( editor , "AddItem", 1,"One");
	_ObjectCallMethod( editor , "AddItem", 2,"Two");
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Column/Cell-Different") , "Editor");
	_ObjectSetProperty( editor , "EditType", 1);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", );
	h = _ObjectCallMethod( items , "AddItem", 0);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,1)");
		_ObjectSetProperty( editor , "EditType", 3);
		_ObjectCallMethod( editor , "AddItem", 3,"Three");
		_ObjectCallMethod( editor , "AddItem", 4,"Four");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = 3");
	_ObjectCallMethod( items , "AddItem", );
	h = _ObjectCallMethod( items , "AddItem", 0);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,1)");
		_ObjectSetProperty( editor , "EditType", 6);
		_ObjectCallMethod( editor , "AddItem", 1,"Single");
		_ObjectCallMethod( editor , "AddItem", 2,"Double");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = 3");
_ObjectCallMethod( grid , "EndUpdate");

870
How can I specify just a few fonts in a FontType editor

OBJECT editor,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "DefaultItemHeight", 22);
_ObjectSetProperty( grid , "DrawGridLines", -2);
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Fonts") , "Editor");
	_ObjectSetProperty( editor , "EditType", 10);
	_ObjectCallMethod( editor , "ClearItems");
	_ObjectCallMethod( editor , "AddItem", 0,"Calibri");
	_ObjectCallMethod( editor , "AddItem", 1,"Arial");
	_ObjectCallMethod( editor , "AddItem", 2,"Rockwell");
	_ObjectCallMethod( editor , "AddItem", 3,"Tahoma");
	_ObjectCallMethod( editor , "SortItems", -1);
	_ObjectSetProperty( editor , "DropDownRows", 4);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "Tahoma");
_ObjectCallMethod( grid , "EndUpdate");

869
How do you embed HTML options into the anchor click string

// AnchorClick event - Occurs when an anchor element is clicked.
FUNCTION gridEvents_AnchorClick(OBJECT grid, STRING AnchorID, STRING Options)
	Message( AnchorID );
	Message( Options );
END

OBJECT columns,grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(grid, "TemplatePut", columns)
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Add(`Car`).Def(17) = 1");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "<a mazda_1;options for 1>Mazda <b>1</b></a>");
	_ObjectCallMethod( items , "AddItem", "<a mazda_2;options for 2>Mazda <b>2</b></a>");
	_ObjectCallMethod( items , "AddItem", "<a mazda_3;options for 3a>Mazda <b>3.a</b></a>");
	_ObjectCallMethod( items , "AddItem", "<a mazda_3;options for 3b>Mazda <b>3.b</b></a>");
_ObjectCallMethod( grid , "EndUpdate");

868
How do I add a checkbox column (method 2)

// CellStateChanged event - Fired after cell's state has been changed.
FUNCTION gridEvents_CellStateChanged(OBJECT grid, INT Item, INT ColIndex)
	_ObjectCallMethod(grid, "TemplatePut", "Dim _ObObj,ColIndex,Item")
	_ObjectCallMethod(grid, "TemplatePut", _ObjectGetProperty( grid , "Items"))
	_ObjectCallMethod(grid, "TemplatePut", ColIndex)
	_ObjectCallMethod(grid, "TemplatePut", Item)
	Message( "CheckBox Changed:" );
	Message( _ObjectCallMethod(grid, "ExecuteTemplate", "_ObObj.CellState(Item,ColIndex)") );
END

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectCallMethod(grid, "ExecuteTemplate", "Columns.Add(`Check`).Def(0) = True");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellState(AddItem(`Check 1`),0) = 0");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellState(AddItem(`Check 2`),0) = 1");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellState(AddItem(`Check 3`),0) = 0");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellState(AddItem(`Check 4`),0) = 1");
_ObjectCallMethod( grid , "EndUpdate");

867
How do I add a checkbox column (method 1)

// Change event - Occurs when the user changes the cell's content.
FUNCTION gridEvents_Change(OBJECT grid, INT Item, INT ColIndex, VARIANT NewValue)
	Message( "CheckBox Changed:" );
	Message( NewValue );
END

OBJECT column,editor,grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Check");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 19);
		_ObjectCallMethod(grid, "TemplatePut", "Dim ediObj")
		_ObjectCallMethod(grid, "TemplatePut", editor)
		_ObjectCallMethod(grid, "ExecuteTemplate", "ediObj.Option(17) = 1");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", 0);
	_ObjectCallMethod( items , "AddItem", 1);
	_ObjectCallMethod( items , "AddItem", 0);
	_ObjectCallMethod( items , "AddItem", 1);
_ObjectCallMethod( grid , "EndUpdate");

866
How do I change the progress bar's appearance

OBJECT appearance,grid,var_editor;

grid =  ObjectByName("AN1") ;
appearance = _ObjectGetProperty( grid , "VisualAppearance");
	_ObjectCallMethod( appearance , "Add", 1,"c:\exontrol\images\normal.ebn");
	_ObjectCallMethod( appearance , "Add", 2,"c:\exontrol\images\pushed.ebn");
var_Editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Progress") , "Editor");
var_editor = var_Editor;
	_ObjectSetProperty( var_editor , "EditType", 13);
	_ObjectCallMethod(grid, "TemplatePut", "Dim varObj")
	_ObjectCallMethod(grid, "TemplatePut", var_editor)
	_ObjectCallMethod(grid, "ExecuteTemplate", "varObj.Option(11) = 16777216");
	_ObjectCallMethod(grid, "ExecuteTemplate", "varObj.Option(13) = 33554432");
_ObjectCallMethod( _ObjectGetProperty( grid , "Items") , "AddItem", 33);

865
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 3)

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( grid , "VisualAppearance") , "Add", 1,"gBFLBCJwBAEHhEJAEGg4BVEIQAAYAQGKIYBkAKBQAGaAoDDMOQwQwAAxjGKEEwsACEIrjKCRShyCYZRhGcTSBCIZBqEqSZLiEZRQCWIAzATGYBRfIUEgjBM6ExwG78e" +
	"gBHp/ZpkACIJJAaRjHQdJxGKKMQB9DIhCZpeKhWgkKIJBzOEyBRC4ERBGqNGrsIgLEqWZpnWhaNpWXYTLyBN64LhuK46g53O6wLxvK6hEr2dJ/YBcIAOfghf4NQ7EMRx" +
	"LC8Mw3BDvYDkOAABAIgI=");
_ObjectSetProperty( grid , "SelBackColor", 33554430);
_ObjectSetProperty( grid , "ShowFocusRect", 0);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Items");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemBackColor(AddItem(`red`)) = 255");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemBackColor(AddItem(`blue`)) = 16711680");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemBackColor(AddItem(`green`)) = 65280");
_ObjectCallMethod( grid , "EndUpdate");

864
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 2)

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "SelBackMode", 1);
_ObjectSetProperty( grid , "ShowFocusRect", 0);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Items");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemBackColor(AddItem(`red`)) = 255");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemBackColor(AddItem(`blue`)) = 16711680");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemBackColor(AddItem(`green`)) = 65280");
_ObjectCallMethod( grid , "EndUpdate");

863
I have the rows with different background color, and when I select the item it takes the color of the SelBackColor, and therefore is no longer visible behind the color. Is there any option to make the item's color being visible (method 1)

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "SelBackColor", _ObjectGetProperty( grid , "BackColor"));
_ObjectSetProperty( grid , "SelForeColor", _ObjectGetProperty( grid , "ForeColor"));
_ObjectSetProperty( grid , "ShowFocusRect", -1);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Items");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemBackColor(AddItem(`red`)) = 255");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemBackColor(AddItem(`blue`)) = 16711680");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemBackColor(AddItem(`green`)) = 65280");
_ObjectCallMethod( grid , "EndUpdate");

862
The BeforeExpandItem event is fired when clicking the drop down filter button. What we can do to prevent that

// BeforeExpandItem event - Fired before an item is about to be expanded (collapsed).
FUNCTION gridEvents_BeforeExpandItem(OBJECT grid, INT Item, VARIANT Cancel)
	Message( "BeforeExpandItem" );
	Message( Item );
	_ObjectCallMethod( _ObjectGetProperty( grid , "Items") , "InsertItem", Item,"","new child");
END

OBJECT column,columns,grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "LinesAtRoot", -1);
columns = _ObjectGetProperty( grid , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Items");
		_ObjectSetProperty( column , "DisplayFilterButton", -1);
		_ObjectSetProperty( column , "FilterList", 4);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemHasChildren(InsertItem(,,`Group 1`)) = True");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemHasChildren(InsertItem(,,`Group 2`)) = True");
_ObjectCallMethod( grid , "EndUpdate");

861
How can I change the shape of the line to be shown when user drag and drop data over the control, EBN

// OLEStartDrag event - Occurs when the OLEDrag method is called.
FUNCTION gridEvents_OLEStartDrag(OBJECT grid, OBJECT Data, INT AllowedEffects)
	' Data.SetData("data to be dragged")

END

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectSetProperty( grid , "OLEDropMode", 1);
_ObjectCallMethod( _ObjectGetProperty( grid , "VisualAppearance") , "Add", 1,"C:\Program Files\Exontrol\ExList\Sample\VB\DragDrop\insert_bottom.ebn");
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(96) = 16777216");
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Default");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");

860
How can I highlight the item from cursor when the user drag and drop data over the control

// OLEStartDrag event - Occurs when the OLEDrag method is called.
FUNCTION gridEvents_OLEStartDrag(OBJECT grid, OBJECT Data, INT AllowedEffects)
	' Data.SetData("data to be dragged")

END

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectSetProperty( grid , "OLEDropMode", 1);
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(96) = 1");
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Default");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");

859
Is it possible to always show the editor for all cells at all times

// AddItem event - Occurs after a new Item has been inserted to Items collection.
FUNCTION gridEvents_AddItem(OBJECT grid, INT Item)
	_ObjectCallMethod(grid, "TemplatePut", "Dim Item")
	_ObjectCallMethod(grid, "TemplatePut", Item)
	_ObjectCallMethod(grid, "ExecuteTemplate", "Items.CellEditorVisible(Item,0) = 1");
	_ObjectCallMethod(grid, "ExecuteTemplate", "Items.CellEditorVisible(Item,1) = 1");
END

// EditOpen event - Occurs when the edit operation starts.
FUNCTION gridEvents_EditOpen()
	OBJECT editor,items;
	items = _ObjectGetProperty( grid , "Items");
		_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(grid, "TemplatePut", items)
		v = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(FocusItem,0)");
		c = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellCaption(FocusItem,0)");
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "Columns.Item(1).Editor");
		_ObjectCallMethod( editor , "ClearItems");
		_ObjectCallMethod( editor , "AddItem", v,c);
END

OBJECT column,editor,grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "DropDownList");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 3);
		_ObjectCallMethod( editor , "AddItem", 1,"First");
		_ObjectCallMethod( editor , "AddItem", 2,"Second");
		_ObjectCallMethod( editor , "AddItem", 3,"Third");
_ObjectSetProperty( grid , "DrawGridLines", -1);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "DropDownList-Related") , "Editor") , "EditType", 3);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(1),1) = -1");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(2),1) = -1");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(3),1) = -1");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.LockedItemCount(2) = 1");
	h = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.LockedItem(2,0)");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemDividerLineAlignment(h) = 2");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditorVisible(h,0) = False");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellSingleLine(h,0) = False");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValueFormat(h,0) = 1");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,0) = `The drop down editor in the second column is filled during the <b>EditOpen event</b>, and the values are based on the selection on the first column.`");
_ObjectCallMethod( grid , "EndUpdate");

858
How do I set a computated cell individually

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Number");
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Format");
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "1.23");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValueFormat(h,1) = 3");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `2 * %0 + ` <font ;6><fgcolor=808080>(2 * Number)``");
	h = _ObjectCallMethod( items , "AddItem", "1.23");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValueFormat(h,1) = 3");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `3 * %0 + ` <font ;6><fgcolor=808080>(3 * Number)``");
	h = _ObjectCallMethod( items , "AddItem", "1.23");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValueFormat(h,1) = 3");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `currency(%0) + ` <font ;6><fgcolor=808080>( Currency(Number) )``");
_ObjectCallMethod( grid , "EndUpdate");

857
Is it possible to assign a different editor for some cells

OBJECT editor,grid,items;

grid =  ObjectByName("AN1") ;
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Column - DropDownList") , "Editor");
	_ObjectSetProperty( editor , "EditType", 3);
	_ObjectCallMethod( editor , "AddItem", 1,"First item");
	_ObjectCallMethod( editor , "AddItem", 2,"Second item");
	_ObjectCallMethod( editor , "AddItem", 3,"Third item");
_ObjectCallMethod(grid, "ExecuteTemplate", "Columns.Add(`Cell - DropDownList`).Def(17) = 1");
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", 1);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,1)");
		_ObjectSetProperty( editor , "EditType", 3);
		_ObjectCallMethod( editor , "AddItem", 1,"<b>First</b> item");
		_ObjectCallMethod( editor , "AddItem", 2,"<b>Second</b> item");
		_ObjectCallMethod( editor , "AddItem", 3,"<b>Third</b> item");
		_ObjectCallMethod( editor , "AddItem", 4,"<b>Forth</b> item");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = 2");
	h = _ObjectCallMethod( items , "AddItem", 2);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,1)");
		_ObjectSetProperty( editor , "EditType", 3);
		_ObjectCallMethod( editor , "AddItem", 1,"<b>Aka First</b> item");
		_ObjectCallMethod( editor , "AddItem", 2,"<b>Aka Second</b> item");
		_ObjectCallMethod( editor , "AddItem", 3,"<b>Aka Third</b> item");
		_ObjectCallMethod( editor , "AddItem", 4,"<b>Aka Forth</b> item");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = 2");

856
Is it possible to define the keys of the drop down values to be strings rather than numeric values

// Change event - Occurs when the user changes the cell's content.
FUNCTION gridEvents_Change(OBJECT grid, INT Item, INT ColIndex, VARIANT NewValue)
	Message( "NewValue is" );
	Message( NewValue );
END

OBJECT editor,grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "DropDownList-String") , "Editor");
	_ObjectSetProperty( editor , "EditType", 3);
	_ObjectCallMethod( editor , "AddItem", 1,"NYC|New York City");
	_ObjectCallMethod( editor , "AddItem", 2,"CJN|Cluj Napoca");
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "DropDownList-Numeric") , "Editor");
	_ObjectSetProperty( editor , "EditType", 3);
	_ObjectCallMethod( editor , "AddItem", 1,"New York City");
	_ObjectCallMethod( editor , "AddItem", 2,"Cluj Napoca");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(`NYC`),1) = 2");

855
The Change event gets me the today date. How can I find what user typed

// Change event - Occurs when the user changes the cell's content.
FUNCTION gridEvents_Change(OBJECT grid, INT Item, INT ColIndex, VARIANT NewValue)
	Message( "NewValue:" );
	Message( NewValue );
	Message( "EditingValue:" );
	Message( _ObjectGetProperty( grid , "EditingText") );
END

OBJECT grid;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Edit") , "Editor") , "EditType", 7);
_ObjectCallMethod( _ObjectGetProperty( grid , "Items") , "AddItem", #1/1/2001#);
_ObjectCallMethod( grid , "EndUpdate");

854
I have an edit field, when going to edit mode, the rightmost part is shown. Is it possible to show the left part instead

OBJECT column,editor,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Edit");
	_ObjectSetProperty( column , "Width", 64);
	_ObjectSetProperty( column , "AllowSizing", 0);
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", ";;;rich");
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Empty");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "This is a bit ot long text");
	_ObjectCallMethod( items , "AddItem", "");
_ObjectCallMethod( grid , "EndUpdate");

853
I have a drop down field, the control shows the rightmost part of the selected caption. Is it possible to show the left part

OBJECT column,editor,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "DropDown");
	_ObjectSetProperty( column , "Width", 64);
	_ObjectSetProperty( column , "AllowSizing", 0);
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "DropDownAlignment", 32);
		_ObjectSetProperty( editor , "EditType", 2);
		_ObjectCallMethod( editor , "AddItem", 1,"First item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 2,"Second item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 3,"Third item. This is a bit ot long text");
		_ObjectSetProperty( editor , "Mask", ";;;rich");
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "PickEdit");
	_ObjectSetProperty( column , "Width", 64);
	_ObjectSetProperty( column , "AllowSizing", 0);
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "DropDownAlignment", 32);
		_ObjectSetProperty( editor , "EditType", 14);
		_ObjectCallMethod( editor , "AddItem", 1,"First item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 2,"Second item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 3,"Third item. This is a bit ot long text");
		_ObjectSetProperty( editor , "Mask", ";;;rich");
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Empty");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(`First item. This is a bit ot long text`),1) = `Second item. This is a bit ot long text`");
	h = _ObjectCallMethod( items , "AddItem", "First item. This is a bit ot long text");
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "DropDownAlignment", 32);
		_ObjectSetProperty( editor , "EditType", 2);
		_ObjectCallMethod( editor , "AddItem", 1,"First item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 2,"Second item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 3,"Third item. This is a bit ot long text");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Second item. This is a bit ot long text`");
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,1)");
		_ObjectSetProperty( editor , "DropDownAlignment", 32);
		_ObjectSetProperty( editor , "EditType", 14);
		_ObjectCallMethod( editor , "AddItem", 1,"First item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 2,"Second item. This is a bit ot long text");
		_ObjectCallMethod( editor , "AddItem", 3,"Third item. This is a bit ot long text");
_ObjectCallMethod( grid , "EndUpdate");

852
Is there a property for the back color of the dropdown field

OBJECT editor,grid;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Date") , "Editor");
	_ObjectSetProperty( editor , "EditType", 7);
	_ObjectCallMethod(grid, "TemplatePut", "Dim ediObj")
	_ObjectCallMethod(grid, "TemplatePut", editor)
	_ObjectCallMethod(grid, "ExecuteTemplate", "ediObj.Option(55) = 15790320");
	_ObjectCallMethod(grid, "ExecuteTemplate", "ediObj.Option(56) = 65793");
_ObjectCallMethod( _ObjectGetProperty( grid , "Items") , "AddItem", #1/1/2001#);
_ObjectCallMethod( grid , "EndUpdate");

851
Is it possible to change a back color of the field/cell when it takes a focus

// EditClose event - Occurs when the edit operation ends.
FUNCTION gridEvents_EditClose()
	OBJECT items;
	items = _ObjectGetProperty( grid , "Items");
		_ObjectCallMethod( items , "ClearCellBackColor", _ObjectGetProperty( items , "FocusItem"),_ObjectGetProperty( grid , "FocusColumnIndex"));
END

// EditOpen event - Occurs when the edit operation starts.
FUNCTION gridEvents_EditOpen()
	OBJECT items;
	items = _ObjectGetProperty( grid , "Items");
		_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(grid, "TemplatePut", items)
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellBackColor(FocusItem,Me.FocusColumnIndex) = 255");
	items = _ObjectGetProperty( grid , "Items");
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(FocusItem,Me.FocusColumnIndex) = Me.Items.CellValue(Me.Items.FocusItem,Me.FocusColumnIndex)");
END

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectSetProperty( grid , "FullRowSelect", 0);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "C1") , "Editor") , "EditType", 1);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "C2") , "Editor") , "EditType", 1);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(`v1`),1) = `v2`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(`v3`),1) = `v4`");

850
How can I display the current date mask, but still allow empty values

OBJECT editor,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "CauseValidateValue", -1);
_ObjectSetProperty( grid , "FullRowSelect", 0);
_ObjectSetProperty( grid , "DrawGridLines", -2);
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Date") , "Editor");
	_ObjectSetProperty( editor , "EditType", 7);
	_ObjectSetProperty( editor , "Mask", "!99/99/9999;1;;empty=1,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!" +
	",select=4,overtype");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", );
	_ObjectCallMethod( items , "AddItem", #1/1/2001#);
	_ObjectCallMethod( items , "AddItem", );
_ObjectCallMethod( grid , "EndUpdate");

849
How can I align the days in a DateType editor

OBJECT editor,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "DropDown");
items = _ObjectGetProperty( grid , "Items");
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 2);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 1);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 0);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 32);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 33);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 34);

848
How can I align the drop down portion rather the inside captions

OBJECT editor,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "DropDown") , "Editor") , "EditType", 7);
items = _ObjectGetProperty( grid , "Items");
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 32);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(AddItem(#1/1/2001#),0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "DropDownAlignment", 16);
	_ObjectCallMethod( items , "AddItem", #1/1/2001#);

847
Is it possible to show a message that the field is empty

OBJECT column,editor,grid;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "DrawGridLines", -2);
_ObjectSetProperty( grid , "FullRowSelect", 0);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Float");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", ";;;float,digits=0,grouping=,invalid=empty,warning=invalid character");
_ObjectCallMethod( _ObjectGetProperty( grid , "Items") , "AddItem", 192278);
_ObjectCallMethod( _ObjectGetProperty( grid , "Items") , "AddItem", 1000);

846
How can I mask a date

OBJECT editor,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "CauseValidateValue", -1);
_ObjectSetProperty( grid , "FullRowSelect", 0);
_ObjectSetProperty( grid , "DrawGridLines", -2);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Date");
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Mask");
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", #1/1/2001#);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "{1,12}/{1,31}/{1950,2050};1;;select=1,warning=Invalid character!,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b" +
	">!,validateas=1");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", #1/1/2001#);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!99/99/9999;1;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,s" +
	"elect=4,overtype");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", #1/1/2001#);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!99/99/9999;;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,se" +
	"lect=4,overtype");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", #1/1/2001#);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!99/99/9999;; ;select=4,overtype,empty,warning=Invalid character!,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</" +
	"b>!,validateas=1");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", #1/1/2001#);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "![0-9 ][0-9 ]/[0-9 ][0-9 ]/[0-9 ][0-9 ][0-9 ][0-9 ];1;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%m" +
	"ask%>'</b>!,warning=Invalid character!,select=4,leading= ");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", #1/1/2001#);
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `len(value) ? shortdateF(value) : ```");
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!99/99/9999;1;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,s" +
	"elect=4,overtype,leading");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", #1/1/2001#);
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `len(value) ? shortdateF(value) : ```");
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!00/00/0000;1;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,s" +
	"elect=4,overtype,leading");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", #1/1/2001#);
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `len(value) ? shortdateF(value) : ```");
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!00/00/0000;;0;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,s" +
	"elect=4,overtype");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
	h = _ObjectCallMethod( items , "AddItem", #1/1/2001#);
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.FormatCell(h,0) = `len(value) ? shortdateF(value) : ```");
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 7);
		_ObjectSetProperty( editor , "Mask", "!00/00/0000;;;empty,validateas=1,invalid=Invalid date\, for the input mask <br><b>'<%mask%>'</b>!,warning=Invalid character!,se" +
	"lect=1,overtype");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = CellEditor(h,0).Mask");
_ObjectCallMethod( grid , "EndUpdate");

845
How can I display and edit an integer number to show grouping digits too ( no decimals)

OBJECT column,editor,grid;

grid =  ObjectByName("AN1") ;
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Float");
	_ObjectSetProperty( column , "FormatColumn", "value format `0`");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", ";;;float,digits=0");
_ObjectCallMethod( _ObjectGetProperty( grid , "Items") , "AddItem", 192278);

844
How can I display and edit a float number to show grouping digits too

OBJECT column,editor,grid;

grid =  ObjectByName("AN1") ;
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Float");
	_ObjectSetProperty( column , "FormatColumn", "value format ``");
	editor = _ObjectGetProperty( column , "Editor");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", ";;;float");
_ObjectCallMethod( _ObjectGetProperty( grid , "Items") , "AddItem", 192278);

843
How can I mask a phone number

OBJECT editor,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "CauseValidateValue", -1);
_ObjectSetProperty( grid , "DrawGridLines", -2);
_ObjectSetProperty( grid , "FullRowSelect", 0);
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Phone") , "Editor") , "EditType", 8);
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", );
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", "!(999) 000 0000;1;;select=1,empty,overtype,warning=invalid characer,invalid=The value you entered isn't appropriate for the inp" +
	"ut mask <b>'<%mask%>'</b> specified for this field.");
	h = _ObjectCallMethod( items , "AddItem", "0123");
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", "!(999) 000 0000;2;;select=4");
	h = _ObjectCallMethod( items , "AddItem", "0123");
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", "`Phone: `!(999) 000-0000");
	h = _ObjectCallMethod( items , "AddItem", "(074) 876-1222");
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 8);
		_ObjectSetProperty( editor , "Mask", "!(999) 000-0000;0");

842
Is it possible to display the ColorType fields using RGB format

OBJECT editor,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Color") , "Editor") , "EditType", 9);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", 255);
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "`RGB(`{0,255}\,{0,255}\,{0,255}`)`;;0");
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "`&H`XXXXXXXX`&`;;0;overtype,insertype,warning=Wrong!");
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "`0x`XX `0x`XX `0x`XX;;0;overtype,insertype,warning=Wrong!");
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "R{0,255} G{0,255} B{0,255};;0;overtype,insertype,warning=Wrong!");
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "`(hexa) RGB 0x`XXXXXX;;0;overtype,insertype,warning=Wrong!");
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "`(decimal) Red: `{0,255}` Green: `{0,255}` Blue: `{0,255};;0;overtype,insertype,warning=Wrong!");
	h = _ObjectCallMethod( items , "AddItem", 255);
	editor = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditor(h,0)");
		_ObjectSetProperty( editor , "EditType", 9);
		_ObjectSetProperty( editor , "Mask", "`(combine) Red: `{0,255}` Green: 0x`XX` Blue: `{0,255};;0;overtype,insertype,warning=Wrong!");

841
How can I add the ExComboBox as an user editor

// UserEditorClose event - Fired the user editor is about to be opened.
FUNCTION gridEvents_UserEditorClose(OBJECT grid, OBJECT Object, INT Item, INT ColIndex)
	' Items.CellValue(Item,ColIndex) = Object.Value

END

// UserEditorOleEvent event - Occurs when an user editor fires an event.
FUNCTION gridEvents_UserEditorOleEvent(OBJECT grid, OBJECT Object, OBJECT Ev, INT CloseEditor, INT Item, INT ColIndex)
	Message( Ev );
END

// UserEditorOpen event - Occurs when an user editor is about to be opened.
FUNCTION gridEvents_UserEditorOpen(OBJECT grid, OBJECT Object, INT Item, INT ColIndex)
	' Object.Value = Me.Items.CellValue(Item,ColIndex)

END

OBJECT combobox,editor,grid,items,rs;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Exontrol.ComboBox") , "Editor");
	_ObjectSetProperty( editor , "EditType", 16);
	_ObjectCallMethod( editor , "UserEditor", "Exontrol.ComboBox","");
	combobox = _ObjectGetProperty( editor , "UserEditorObject");
		_ObjectCallMethod( combobox , "BeginUpdate");
		_ObjectSetProperty( combobox , "Style", 2);
		_ObjectSetProperty( combobox , "ColumnAutoResize", 0);
		rs = CreateObject("ADOR.Recordset");
			_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3);
		_ObjectSetProperty( combobox , "DataSource", rs);
		_ObjectSetProperty( combobox , "MinHeightList", 128);
		_ObjectSetProperty( combobox , "SearchColumnIndex", 0);
		_ObjectSetProperty( combobox , "UseTabKey", 0);
		_ObjectCallMethod( combobox , "EndUpdate");
_ObjectSetProperty( grid , "DrawGridLines", -2);
_ObjectSetProperty( grid , "DefaultItemHeight", 21);
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditorVisible(AddItem(10248),0) = 1");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditorVisible(AddItem(10249),0) = 1");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEditorVisible(AddItem(10250),0) = 1");
_ObjectCallMethod( grid , "EndUpdate");

840
How can I add a header row

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ShowLockedItems", -1);
_ObjectSetProperty( grid , "DrawGridLines", 2);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "C1");
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "C2");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.LockedItemCount(0) = 1");
	h = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.LockedItem(0,0)");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemBackColor(h) = 8421504");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemForeColor(h) = 16777215");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,0) = `footer c1`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `footer c2`");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(`cell`),1) = `cell`");

839
How can I add a footer row

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ShowLockedItems", -1);
_ObjectSetProperty( grid , "DrawGridLines", 2);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "C1");
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "C2");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.LockedItemCount(2) = 1");
	h = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.LockedItem(2,0)");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemBackColor(h) = 8421504");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemForeColor(h) = 16777215");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,0) = `footer c1`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `footer c2`");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(AddItem(`cell`),1) = `cell`");

838
How can I programmatically add more columns to the sort bar and other to be sorted, but not included in the sort bar

OBJECT columns,grid;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "SortBarVisible", -1);
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", 0);
	_ObjectCallMethod( columns , "Add", 1);
	_ObjectCallMethod( columns , "Add", 2);
	_ObjectCallMethod( columns , "Add", 3);
	_ObjectCallMethod( columns , "Add", 4);
_ObjectSetProperty( grid , "Layout", "multiplesort=^"C3:1 C4:2^";singlesort=^"C2:1^"");

837
How can I fix a column, while other sizable and fill the control's client

OBJECT column,grid;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ColumnAutoResize", -1);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Sizable");
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "F");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 16);

836
Is it possible to use empty values on a PickEditType editor (method 2)

OBJECT editor,grid,items;

grid =  ObjectByName("AN1") ;
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "DropDown") , "Editor");
	_ObjectSetProperty( editor , "EditType", 14);
	_ObjectCallMethod( editor , "AddItem", 0,"");
	_ObjectCallMethod( editor , "AddItem", 1,"The first item");
	_ObjectCallMethod( editor , "AddItem", 2,"The second item");
	_ObjectCallMethod( editor , "AddItem", 3,"The third item");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "The first item");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "The third item");

835
Is it possible to use empty values on a PickEditType editor (method 1)

OBJECT editor,grid,items;

grid =  ObjectByName("AN1") ;
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "DropDown") , "Editor");
	_ObjectSetProperty( editor , "EditType", 14);
	_ObjectCallMethod(grid, "TemplatePut", "Dim ediObj")
	_ObjectCallMethod(grid, "TemplatePut", editor)
	_ObjectCallMethod(grid, "ExecuteTemplate", "ediObj.Option(54) = True");
	_ObjectCallMethod( editor , "AddItem", 1,"The first item");
	_ObjectCallMethod( editor , "AddItem", 2,"The second item");
	_ObjectCallMethod( editor , "AddItem", 3,"The third item");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "The first item");
	_ObjectCallMethod( items , "AddItem", "");
	_ObjectCallMethod( items , "AddItem", "The third item");

834
How can I specify an unselectable cell

OBJECT columns,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "C1");
	_ObjectCallMethod( columns , "Add", "C2");
	_ObjectCallMethod( columns , "Add", "C3");
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "unselectable item");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `unselectable item`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,2) = `unselectable item`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SelectableItem(h) = False");
	h = _ObjectCallMethod( items , "AddItem", "selectable cell");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `unselectable cell`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEnabled(h,1) = False");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellForeColor(h,1) = 0");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,2) = `disabled cell`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellEnabled(h,2) = False");
	h = _ObjectCallMethod( items , "AddItem", "disabled item");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `disabled item`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,2) = `disabled item`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.EnableItem(h) = False");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SelectableItem(h) = False");
_ObjectCallMethod( grid , "EndUpdate");

833
Is it possible to edit a float number without using of e/E/d/D (exponent) and +/- (signs) characters

OBJECT editor,grid;

grid =  ObjectByName("AN1") ;
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Edit") , "Editor");
	_ObjectSetProperty( editor , "EditType", 1);
	_ObjectSetProperty( editor , "Numeric", 770);
_ObjectCallMethod( _ObjectGetProperty( grid , "Items") , "AddItem", 1.22);

832
How can I edit a float number with no using of e/E/d/D and + character

OBJECT editor,grid;

grid =  ObjectByName("AN1") ;
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Edit") , "Editor");
	_ObjectSetProperty( editor , "EditType", 1);
	_ObjectSetProperty( editor , "Numeric", 258);
_ObjectCallMethod( _ObjectGetProperty( grid , "Items") , "AddItem", 1.22);

831
Is it possible to edit a float number with no using of e/E/d/D (exponent) characters

OBJECT editor,grid;

grid =  ObjectByName("AN1") ;
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Edit") , "Editor");
	_ObjectSetProperty( editor , "EditType", 1);
	_ObjectSetProperty( editor , "Numeric", 2);
_ObjectCallMethod( _ObjectGetProperty( grid , "Items") , "AddItem", 1.22);

830
How can I edit an integer with no using of +/- signs

OBJECT editor,grid;

grid =  ObjectByName("AN1") ;
editor = _ObjectGetProperty( _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Edit") , "Editor");
	_ObjectSetProperty( editor , "EditType", 1);
	_ObjectSetProperty( editor , "Numeric", 1023);
_ObjectCallMethod( _ObjectGetProperty( grid , "Items") , "AddItem", 1);

829
When I'm trying to show string with "line break" character (vbCrLF) in a textbox, it shows 2 squares. Is there any way to hide these squares

OBJECT column,columns,grid,items;

grid =  ObjectByName("AN1") ;
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Value");
	column = _ObjectCallMethod( columns , "Add", "CellSingleLine = False");
		_ObjectSetProperty( column , "ComputedField", "%0");
		_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(grid, "TemplatePut", column)
		_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(16) = False");
	column = _ObjectCallMethod( columns , "Add", "FormatColumn/replace CRLF");
		_ObjectSetProperty( column , "ComputedField", "%0");
		_ObjectSetProperty( column , "FormatColumn", "value replace `\r\n` with ``");
	column = _ObjectCallMethod( columns , "Add", "FormatColumn/replace TAB,CRLF");
		_ObjectSetProperty( column , "ComputedField", "%0");
		_ObjectSetProperty( column , "FormatColumn", "(value replace `\t` with ``) replace `\r\n` with ``");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "a\ta\r\nb\tb");

828
Is there any way to "unselect" radio group

// DblClick event - Occurs when the user dblclk the left mouse button over an object.
FUNCTION gridEvents_DblClick(OBJECT grid, INT Shift, INT X, INT Y)
	OBJECT items;
	items = _ObjectGetProperty( grid , "Items");
		_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(grid, "TemplatePut", items)
		h = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellChecked(1234)");
		_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
		_ObjectCallMethod(grid, "TemplatePut", items)
		_ObjectCallMethod(grid, "TemplatePut", h)
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHasCheckBox(0,h) = True");
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellState(0,h) = 0");
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHasCheckBox(0,h) = False");
END

// SelectionChanged event - Fired after a new item has been selected.
FUNCTION gridEvents_SelectionChanged()
	OBJECT items;
	items = _ObjectGetProperty( grid , "Items");
		_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
		_ObjectCallMethod(grid, "TemplatePut", items)
		_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellState(FocusItem,0) = 1");
END

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectSetProperty( grid , "MarkSearchColumn", 0);
_ObjectSetProperty( grid , "SelBackColor", 8454143);
_ObjectSetProperty( grid , "SelForeColor", 0);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Default");
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Radio 1");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHasRadioButton(h,0) = True");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellRadioGroup(h,0) = 1234");
	h = _ObjectCallMethod( items , "AddItem", "Radio 2");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHasRadioButton(h,0) = True");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellRadioGroup(h,0) = 1234");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellState(h,0) = 1");
	h = _ObjectCallMethod( items , "AddItem", "Radio 3");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellHasRadioButton(h,0) = True");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellRadioGroup(h,0) = 1234");

827
The Column.Alignment property does not seem to work for cells with images in them. What can be done

OBJECT column,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectCallMethod( grid , "Images", "gBJJgBAIDAAGAAEAAQhYAf8Pf4hh0QihCJo2AEZjQAjEZFEaIEaEEaAIAkcbk0olUrlktl0vmExmUzmk1m03nE5nU7nk9n0/oFBoVDolFo1HpFJpVLplNp1PqFRqVTq" +
	"lVq1XrFZrVbrldr1fsFhsVjslls1ntFptVrtltt1vuFxuVzul1u13vF5vV7vl9v1/wGBwWDwmFw2HxGJxWLxmNx0xiFdyOTh8Tf9ZymXx+QytcyNgz8r0OblWjyWds+m" +
	"0ka1Vf1ta1+r1mos2xrG2xeZ0+a0W0qOx3GO4NV3WeyvD2XJ5XL5nN51aiw+lfSj0gkUkAEllHanHI5j/cHg8EZf7w8vl8j4f/qfEZeB09/vjLAB30+kZQAP/P5/H6/y" +
	"NAOAEAwCjMBwFAEDwJBMDwLBYAP2/8Hv8/gAGAD8LQs9w/nhDY/oygIA=");
_ObjectSetProperty( grid , "TreeColumnIndex", -1);
_ObjectSetProperty( grid , "DrawGridLines", -1);
_ObjectSetProperty( grid , "HeaderHeight", 24);
_ObjectSetProperty( grid , "DefaultItemHeight", 24);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Image");
	_ObjectSetProperty( column , "AllowSizing", 0);
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "HTMLCaption", "<img>1</img>");
	_ObjectSetProperty( column , "HeaderAlignment", 1);
	_ObjectSetProperty( column , "Alignment", 1);
	_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(grid, "TemplatePut", column)
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(17) = 1");
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Rest");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "<img>1</img>");
	_ObjectCallMethod( items , "AddItem", "<img>2</img>");
	_ObjectCallMethod( items , "AddItem", "<img>3</img>");
_ObjectCallMethod( grid , "EndUpdate");

826
Can I change the format of date to be shown in the control

OBJECT column,columns,grid,items;

grid =  ObjectByName("AN1") ;
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Default");
	column = _ObjectCallMethod( columns , "Add", "Format.1");
		_ObjectSetProperty( column , "ComputedField", "%0");
		_ObjectSetProperty( column , "FormatColumn", "dateF(value) replace `/` with `-`");
	column = _ObjectCallMethod( columns , "Add", "Format.2");
		_ObjectSetProperty( column , "ComputedField", "%0");
		_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(grid, "TemplatePut", column)
		_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectSetProperty( column , "FormatColumn", "`<b>`+ shortdate(value) + `</b> ` + timeF(value)");
	column = _ObjectCallMethod( columns , "Add", "Format.3");
		_ObjectSetProperty( column , "ComputedField", "%0");
		_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(17) = 1");
		_ObjectSetProperty( column , "FormatColumn", "( dateF(value) replace `/` with `-` ) + ` <b>`+ ( weekday(value) case ( 0 : `Su`; 1 : `Mo`; 2 : `Tu`; 3 : `We`; 4 : `Th`; 5 : `" +
	"Fr`; 6 : `Sa`) )");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", #1/1/2001 10:00:00 AM#);
	_ObjectCallMethod( items , "AddItem", #1/2/2001 10:00:00 AM#);

825
How do I arrange my columns on multiple levels

OBJECT column,columns,grid;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
_ObjectSetProperty( grid , "DrawGridLines", -1);
columns = _ObjectGetProperty( grid , "Columns");
	column = _ObjectCallMethod( columns , "Add", "C0");
		_ObjectSetProperty( column , "ExpandColumns", "1,2");
		_ObjectSetProperty( column , "DisplayExpandButton", 0);
	_ObjectCallMethod( columns , "Add", "C1");
	_ObjectCallMethod( columns , "Add", "C2");
	_ObjectCallMethod( columns , "Add", "C3");
	column = _ObjectCallMethod( columns , "Add", "C4");
		_ObjectSetProperty( column , "ExpandColumns", "5,6");
		_ObjectSetProperty( column , "DisplayExpandButton", 0);
	_ObjectCallMethod( columns , "Add", "C5");
	column = _ObjectCallMethod( columns , "Add", "C6");
		_ObjectSetProperty( column , "ExpandColumns", "6,7");
		_ObjectSetProperty( column , "DisplayExpandButton", 0);
	_ObjectCallMethod( columns , "Add", "C7");
_ObjectCallMethod( grid , "EndUpdate");

824
Does your control support expandable header or columns, so I can arrange it on multiple levels

OBJECT column,columns,grid;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "DrawGridLines", -1);
_ObjectSetProperty( grid , "BackColorLevelHeader", 15790320);
columns = _ObjectGetProperty( grid , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Photo");
		_ObjectSetProperty( column , "AllowSizing", 0);
		_ObjectSetProperty( column , "Width", 32);
	_ObjectCallMethod( columns , "Add", "Personal Info");
	_ObjectCallMethod( columns , "Add", "Title");
	_ObjectCallMethod( columns , "Add", "Name");
	_ObjectCallMethod( columns , "Add", "First");
	_ObjectCallMethod( columns , "Add", "Last");
	_ObjectCallMethod( columns , "Add", "Address");
	_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
	_ObjectCallMethod(grid, "TemplatePut", columns)
	_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Item(`Personal Info`).ExpandColumns = `2,3`");
	column = _ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Item(`Name`)");
		_ObjectSetProperty( column , "ExpandColumns", "4,5");
		_ObjectSetProperty( column , "Expanded", 0);
_ObjectCallMethod( grid , "EndUpdate");

823
How can I use the MinWidthAutoResize/MaxWidthAutoResize

OBJECT column,grid,rs;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( grid , "DataSource", rs);
column = _ObjectCallMethod(grid, "ExecuteTemplate", "Columns.Item(0)");
	_ObjectSetProperty( column , "MaxWidthAutoResize", 32);
	_ObjectSetProperty( column , "WidthAutoResize", -1);
_ObjectCallMethod( grid , "EndUpdate");

822
Does your control support subscript or superscript, in HTML captions

OBJECT column,columns,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
_ObjectSetProperty( grid , "HeaderHeight", 28);
_ObjectSetProperty( grid , "DefaultItemHeight", 24);
columns = _ObjectGetProperty( grid , "Columns");
	column = _ObjectCallMethod( columns , "Add", "Column 1");
		_ObjectSetProperty( column , "HTMLCaption", "Column <b><off 2><font ;6>1");
		_ObjectCallMethod(grid, "TemplatePut", "Dim colObj")
		_ObjectCallMethod(grid, "TemplatePut", column)
		_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(17) = 1");
	column = _ObjectCallMethod( columns , "Add", "Column 2");
		_ObjectSetProperty( column , "HTMLCaption", "Column <b><off 2><font ;6>2");
		_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(17) = 1");
	column = _ObjectCallMethod( columns , "Add", "Column 3");
		_ObjectSetProperty( column , "HTMLCaption", "Column <b><off 2><font ;6>3");
		_ObjectCallMethod(grid, "ExecuteTemplate", "colObj.Def(17) = 1");
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "Item <font ;6><off 4>1");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,1) = `Item <font ;6><off -6>2`");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(h,2) = `Item <b><font ;6><off -6>2<off 4>3<off 4>1`");

821
How can I specify the splited cell's background color

OBJECT column,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "MarkSearchColumn", 0);
_ObjectSetProperty( grid , "TreeColumnIndex", -1);
_ObjectCallMethod(grid, "ExecuteTemplate", "Columns.Add(`1`).Def(4) = 255");
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "2");
	_ObjectSetProperty( column , "Width", 32);
	_ObjectSetProperty( column , "AllowSizing", 0);
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "The Item's background color inherits the Column.Def(exCellBackColor)");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	h = _ObjectCallMethod( items , "AddItem", "The Item's background color inherits the CellBackColor()");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellBackColor(h) = 65280");
	h = _ObjectCallMethod( items , "AddItem", "The Item's background color inherits the CellBackColor(), while the split inherits from the Column.Def(exCellBackColor) ");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellBackColor(h) = 65280");
	var_SplitCell = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SplitCell(h,0)");
	h = _ObjectCallMethod( items , "AddItem", "The Item's background color inherits the CellBackColor()");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ItemDivider(h) = 0");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellBackColor(h) = 65280");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellBackColor(0,SplitCell(h,0)) = 16711680");

820
How can I specify a fixed width for a column

OBJECT column,grid;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "MarkSearchColumn", 0);
_ObjectSetProperty( grid , "TreeColumnIndex", -1);
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "C1");
	_ObjectSetProperty( column , "Width", 17);
	_ObjectSetProperty( column , "AllowSizing", 0);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "C2");
	_ObjectSetProperty( column , "Width", 17);
	_ObjectSetProperty( column , "AllowSizing", 0);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Other");
_ObjectSetProperty( grid , "ColumnAutoResize", -1);

819
How can I split a cell in three parts

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "DrawGridLines", -1);
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Default");
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "entire");
	h = _ObjectCallMethod( items , "AddItem", "split 1");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	h = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SplitCell(h,0)");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(0,h) = `split 2`");
	h = _ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.SplitCell(0,h)");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.CellValue(0,h) = `split 3`");
	h = _ObjectCallMethod( items , "AddItem", "entire");
_ObjectCallMethod( grid , "EndUpdate");

818
How can I find if there is any filter applied to the control

// FilterChange event - Occurs when filter was changed.
FUNCTION gridEvents_FilterChange()
	Message( "If negative, the filter is present, else not" );
	Message( _ObjectGetProperty( _ObjectGetProperty( grid , "Items") , "VisibleItemCount") );
END

OBJECT column,grid,items;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "LinesAtRoot", -1);
_ObjectSetProperty( grid , "TreeColumnIndex", -1);
_ObjectSetProperty( grid , "FilterInclude", 4);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Column");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "C1");
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "R1");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "R2");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
_ObjectCallMethod( grid , "ApplyFilter");
_ObjectCallMethod( grid , "EndUpdate");

817
How can I prevent showing the lines for the hierarchy while using the exMatchingItemsOnly option

OBJECT column,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "LinesAtRoot", -1);
_ObjectSetProperty( grid , "TreeColumnIndex", -1);
_ObjectSetProperty( grid , "FilterInclude", 4);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Column");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "C1|C2");
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "R1");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "R2");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
_ObjectCallMethod( grid , "ApplyFilter");
_ObjectCallMethod( grid , "EndUpdate");

816
Is there any method to get only the matched items and not the items with his parent

OBJECT column,grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "LinesAtRoot", -1);
_ObjectSetProperty( grid , "FilterInclude", 4);
column = _ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Column");
	_ObjectSetProperty( column , "DisplayFilterButton", -1);
	_ObjectSetProperty( column , "FilterType", 240);
	_ObjectSetProperty( column , "Filter", "C1|C2");
items = _ObjectGetProperty( grid , "Items");
	h = _ObjectCallMethod( items , "AddItem", "R1");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj,h")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "TemplatePut", h)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ExpandItem(h) = True");
	h = _ObjectCallMethod( items , "AddItem", "R2");
	_ObjectCallMethod( items , "InsertItem", h,"","C1");
	_ObjectCallMethod( items , "InsertItem", h,"","C2");
_ObjectCallMethod( grid , "ApplyFilter");
_ObjectCallMethod( grid , "EndUpdate");

815
Is there any property I can save and restore automatically the current setting, column position, size, and so on (2)

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Column");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddItem", "Item 3");
_ObjectSetProperty( grid , "Layout", "Select=^"0^";SingleSort=^"C0:2^";Columns=1");
_ObjectCallMethod( grid , "EndUpdate");

814
Is there any property I can save and restore automatically the current setting, column position, size, and so on (1)

OBJECT grid,items;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectCallMethod( _ObjectGetProperty( grid , "Columns") , "Add", "Column");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod( items , "AddItem", "Item 1");
	_ObjectCallMethod( items , "AddItem", "Item 2");
	_ObjectCallMethod( items , "AddItem", "Item 3");
_ObjectSetProperty( grid , "Layout", "gBjAAwAAuABmABpABsAB0ABlAByhoAPIAOEPAA9gYABoABQAgUEg0XN4AOcJicKkpujMbjsfkMFk0YhkQgUOjUEl8gjcGO0ok8KMULjEaGMcj08kQAO8oMkTNEtGwAG" +
	"QAqc7gUlhh1ABtAEsk9GpEfhElgVcsMupNlnlonlaAFcr0shUsp8QPEtnVJqJhmcIhUMh0QiU5sYAqMngUSuEMw07k8Qv0SgVRrNEuVflF2jF5x9JyNEm0TjQijemyE0" +
	"jE3t+YruauoAu4Az1qj9BzRn0UzksSnAA0xDjY6qnAw8OiUQ0dwzN0zWz2t7j8/xURAGNvWH6k8xlEhklhEI0O/6QAgI=");
_ObjectCallMethod( grid , "EndUpdate");

813
I have noticed that the column's header is changed once the cursor hovers it. Is it possible to change that visual appearance

OBJECT columns,grid;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( grid , "VisualAppearance") , "Add", 1,"c:\exontrol\images\normal.ebn");
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectCallMethod( columns , "Add", "Column 2");
_ObjectSetProperty( grid , "BackColorHeader", 16777216);
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(32) = 19760895");

812
Is it possible to change the visual appearance of the columns selector/floating bar(3)

OBJECT columns,grid;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
_ObjectCallMethod( _ObjectGetProperty( grid , "VisualAppearance") , "Add", 2,"c:\exontrol\images\normal.ebn");
_ObjectCallMethod( _ObjectGetProperty( grid , "VisualAppearance") , "Add", 3,"c:\exontrol\images\pushed.ebn");
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(92) = 33554432");
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(87) = 50331648");
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(93) = 15791606");
_ObjectSetProperty( grid , "ColumnsFloatBarVisible", -1);

811
Is it possible to change the visual appearance of the columns selector/floating bar(2)

OBJECT columns,grid;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
_ObjectCallMethod( _ObjectGetProperty( grid , "VisualAppearance") , "Add", 3,"c:\exontrol\images\pushed.ebn");
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(87) = 50331648");
_ObjectSetProperty( grid , "ColumnsFloatBarVisible", -1);

810
Is it possible to change the visual appearance of the columns selector/floating bar(1)

OBJECT grid;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( _ObjectGetProperty( grid , "VisualAppearance") , "Add", 2,"c:\exontrol\images\normal.ebn");
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(92) = 33554432");
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(87) = 15791606");
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(93) = 15791606");
_ObjectSetProperty( grid , "ColumnsFloatBarVisible", -1);

809
I am using the ColumnsFloatBarVisible property on True, but still not able to add any column on that list

OBJECT columns,grid;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
_ObjectSetProperty( grid , "ColumnsFloatBarVisible", -1);

808
Is it possible to list a column to columns selector/floating bar, but still user can use it

OBJECT column,columns,grid;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
	column = _ObjectCallMethod( columns , "Add", "Column 3");
		_ObjectSetProperty( column , "Visible", 0);
		_ObjectSetProperty( column , "Enabled", 0);
_ObjectSetProperty( grid , "ColumnsFloatBarVisible", -1);

807
How can I prevent a specific column not to be listed in the columns selector/floating bar

OBJECT column,columns,grid;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
	column = _ObjectCallMethod( columns , "Add", "Column 3");
		_ObjectSetProperty( column , "Visible", 0);
		_ObjectSetProperty( column , "AllowDragging", 0);
_ObjectSetProperty( grid , "ColumnsFloatBarVisible", -1);

806
Is it possible to change the "Columns" caption being shown in the columns selector/floating bar

OBJECT columns,grid;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
_ObjectCallMethod(grid, "ExecuteTemplate", "Description(26) = `Hidden Columns`");
_ObjectSetProperty( grid , "ColumnsFloatBarVisible", -1);

805
How can I show the columns selector, so the user can drag and drop columns to the view

OBJECT columns,grid;

grid =  ObjectByName("AN1") ;
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectSetProperty( _ObjectCallMethod( columns , "Add", "Column 2") , "Visible", 0);
_ObjectSetProperty( grid , "ColumnsFloatBarVisible", -1);

804
The column's header is changed while the cursor hovers it. Is it possible to prevent that

OBJECT columns,grid;

grid =  ObjectByName("AN1") ;
columns = _ObjectGetProperty( grid , "Columns");
	_ObjectCallMethod( columns , "Add", "Column 1");
	_ObjectCallMethod( columns , "Add", "Column 2");
_ObjectCallMethod(grid, "ExecuteTemplate", "Background(32) = -1");

803
I noticed that when grouping on a field, its details are always expanded. Is it possible to show collapsed by default (method 2)

OBJECT grid,rs;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( grid , "DataSource", rs);
_ObjectSetProperty( grid , "SortBarVisible", -1);
_ObjectSetProperty( grid , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( grid , "AllowGroupBy", -1);
_ObjectCallMethod(grid, "ExecuteTemplate", "Columns.Item(1).SortOrder = 1");
_ObjectCallMethod( grid , "EndUpdate");
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectCallMethod( grid , "EnsureVisibleColumn", 0);
_ObjectCallMethod(grid, "ExecuteTemplate", "Items.ExpandItem(0) = False");
_ObjectCallMethod( grid , "EndUpdate");

802
I noticed that when grouping on a field, its details are always expanded. Is it possible to show collapsed by default (method 1)

// AddGroupItem event - Occurs after a new Group Item has been inserted to Items collection.
FUNCTION gridEvents_AddGroupItem(OBJECT grid, INT Item)
	_ObjectCallMethod(grid, "TemplatePut", "Dim Item")
	_ObjectCallMethod(grid, "TemplatePut", Item)
	_ObjectCallMethod(grid, "ExecuteTemplate", "Items.ExpandItem(Item) = False");
END

OBJECT grid,rs;

grid =  ObjectByName("AN1") ;
ObjectAssociateEvents("gridEvents", grid);
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( grid , "DataSource", rs);
_ObjectSetProperty( grid , "SortBarVisible", -1);
_ObjectSetProperty( grid , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( grid , "AllowGroupBy", -1);
_ObjectCallMethod(grid, "ExecuteTemplate", "Columns.Item(1).SortOrder = 1");
_ObjectCallMethod( grid , "EndUpdate");

801
Is there a possibility to expand / collapse all groups (or group by group) at runtime with a method (equivalent to pressing the + or - button in the group header)

OBJECT grid,items,rs;

grid =  ObjectByName("AN1") ;
_ObjectCallMethod( grid , "BeginUpdate");
_ObjectSetProperty( grid , "ColumnAutoResize", 0);
rs = CreateObject("ADOR.Recordset");
	_ObjectCallMethod( rs , "Open", "Orders","Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Program Files\Exontrol\ExGrid\Sample\Access\misc.accdb",3,3);
_ObjectSetProperty( grid , "DataSource", rs);
_ObjectSetProperty( grid , "SortBarVisible", -1);
_ObjectSetProperty( grid , "SortBarCaption", "Drag a <b>column</b> header here to group by that column.");
_ObjectSetProperty( grid , "AllowGroupBy", -1);
_ObjectCallMethod(grid, "ExecuteTemplate", "Columns.Item(1).SortOrder = 1");
_ObjectCallMethod( grid , "EndUpdate");
_ObjectCallMethod( grid , "EnsureVisibleColumn", 0);
_ObjectCallMethod( grid , "BeginUpdate");
items = _ObjectGetProperty( grid , "Items");
	_ObjectCallMethod(grid, "TemplatePut", "Dim iteObj")
	_ObjectCallMethod(grid, "TemplatePut", items)
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ExpandItem(RootItem(0)) = False");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ExpandItem(RootItem(1)) = False");
	_ObjectCallMethod(grid, "ExecuteTemplate", "iteObj.ExpandItem(RootItem(2)) = False");
_ObjectCallMethod( grid , "EndUpdate");